

#ifndef __CE_XML_H__
#define __CE_XML_H__

#include <cegfx/ceexport.h>
#include <cegfx/iqf.h>
#include <libxml/tree.h>
#include <string>
#include <list>
#include <map>


class CE_GFX_API ceXmlElement : public iBase
{
	IQF_DECLARATION;
private:
	xmlNode*														node;

public:
	ceXmlElement (xmlNode* node);
	~ceXmlElement ();

	const char* GetTagName () const;

	const char* GetAttribute (const char* name, const char* defaultValue = 0) const;
	bool HasAttribute (const char* name) const;
	int GetIntAttribute (const char* attribute) const;
	float GetFloatAttribute (const char* attribute) const;

	unsigned GetNumberOfChildren (const char* tagName = 0) const;
	ceXmlElement* GetChild (const char* tagName = 0) const;
	ceXmlElement* GetChild (unsigned idx, const char* tagName = 0) const;


};



#endif /* ! __CE_XML_H__ */ 
